Computer applications and content often display arrangements of various objects. Objects, whether actually displayed or not, commonly function as containers, meaning that they contain other “child” objects. Such containers are frequently used, for example, to organize a group of child objects spatially. For example, in conventional applications, a child object's position can be defined with respect to its parent object. A child object may be positioned at x=10, y=10 in location coordinates defined inside a container. Some containers position child objects based on absolute positioning, as in the previous example. Others specify child positions using categories. For example, a horizontal box type container can lay out children from left to right. Object size properties (such as width, height, etc.) can also generally be specified with respect to other objects. For example, the width of a child object may be defined as a percentage of the width of its parent. If a canvas type container had a width of 100 pixels, another object could be placed within it and specified to have a width that is 80% of the canvas container's width, which would result in the child object having a width of 80% of 100 pixels or 80 pixels.
Various problems arise if a container size property (e.g., width, height) is unspecified. For example, a dynamically-sized container such as a horizontal box lays its children out from left to right. If five buttons are in the horizontal box, it sizes itself to be approximately five buttons wide and one button high. If the developer then deletes all five buttons, the size of the box could shrink to zero, i.e., it would appear as a zero pixel rectangle. Similarly, if a developer placed a canvas with the default size of 200×200 pixels and deleted the width and height properties, the canvas would then have no width or height. For various reasons, one or more size properties of an object can be set to zero, making the object difficult to work with. Resizing, for example, may be difficult where resize handles are drawn on top of each other. Additionally, inserting components via drag and drop can be difficult if the container has no displayed size.
Various prop-open features are used to attempt to address some of these problems, for example, by enforcing minimum object size properties. However, existing techniques generally fail to address various circumstances in which containers and other objects are used within applications and other content.